<?php
/**
 * Provides /contact pages
 */
class ContactController extends BRail_Application_Controller_Abstract
{
    /**
     * / page
     * @return void
     */
    public function indexAction()
    {
        if ($this->getRequest()->getParam('submit') !== null) {
            // Control inputs
            $errors = array();
            if (null == $this->_getParam('inputSubject')) {
                $errors[] = 'Veuillez spécifier un sujet pour votre email svp';
            }

            if (null == $this->_getParam('inputEmail')) {
                $errors[] = 'Veuillez saisir votre adresse email svp';
            } elseif(!preg_match(
                "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/",
                $this->_getParam('inputEmail'))) {
                $errors[] = 'Veuillez saisir une adresse email correcte svp';
            }

            if (null == $this->_getParam('inputMessage')) {
                $errors[] = 'Veuillez spécifier un message à envoyer svp';
            }

            $this->view->inputSubject = $this->_getParam('inputSubject', '');
            $this->view->inputEmail = $this->_getParam('inputEmail', '');
            $this->view->inputMessage = $this->_getParam('inputMessage', '');

            if (!$errors) {
                //Send the mail
                $mailer = new Application_Service_MailSender();
                $mailSent = $mailer->send(
                    $this->_getParam('inputEmail'),
                    $this->_getParam('inputMessage'),
                    $this->_getParam('inputSubject')
                );

                if ($mailSent) {
                    $this->view->infoMessage = 'Votre mail a bien été envoyé';
                } else {
                    $errors[] = "Il y a eu un problème lors de l'envoi de votre mail, veuillez réessayer svp";
                }
            }

            $this->view->errors = $errors;

        }
    }
}